由於在八月份看到鐵人競賽的資訊,想說給在等當兵的自己一個全新的挑戰,我選擇非常陌生的 資訊安全 領域作為學習分享的題材
文章內容是參考此書以及一些網路資源
我揀選書中一些有關資訊安全的有趣單元作為這30天的學習呈現,大多是 理論成分居多,因此文章中 沒有實際的資安應用軟體呈現
主要以數學、Python、以及一些圖片講述所構成
Python的部分也只是輔佐數學的計算而已,沒興趣的讀者可以放心跳過
由於很多的資訊安全協定都與加密有關
因此前半段我們會花一半的時間講密碼學
中後期講一下使用權控制的部分
後段也會介紹一些網路的理論模型
整趟旅程將以SSH安全認證協定作為收尾
每一個報名資安組的都一定會講到資安的CIA,我也不免俗地在這邊寫一下
資訊安全的最基本三要素,就是能確保資訊的 保密性(Confidentiality)、完整性(Integrity)、
可用性(Availability),簡稱CIA
典型教科書都用Alice、Bob來代指進行資訊交換的好人,壞人用Trudy來代稱
假設Alice今天開了間銀行,Bob是她的客戶,CIA可以由以下實例來理解
保密性:防止未經授權的訊息讀取
對於客戶Bob而言,他不會希望自己的帳戶餘額被陌生的Trudy知道
Alice的銀行如果沒有做好資訊的保密性也可能會面臨相關法律的責任
完整性:防止未經授權的訊息寫入
寫入就是資料被更改
Alice必須要能夠阻擋Trudy擅自更改客戶的帳戶餘額
要注意Trudy可能有能力去修改自己無法讀取的資料
可用性:確保資料能夠被取用
假如Trudy想要阻止Alice做生意,他可以對Alice的銀行伺服器發動攻擊,讓整個資料的取得變得相當緩慢
假如Alice無法維護資訊安全的可用性,很有可能就會流失許多重要客戶
當然,除了CIA,還有很多資訊安全需要面臨的問題
舉例來說,我們之後會探討資料 認證(authetication)的問題
在Bob登入Alice的網路銀行時:
還有其他有趣的問題如授權、安全協議、惡意軟體、操作系統等,有礙於時間以及我的學習速度有限,不可能全部涵蓋,我只會揀選幾個我有把握的以及我認為有趣的內容來做說明
不過,要能夠討論其他資訊安全的議題,密碼學(cryptography)會是一個必備的知識
因此我們接下來幾天會專注於討論密碼學的內容
等到該有的知識稍微理解了,再來做下一步的延伸